package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单对象 tb_order
 *
 * @author ruoyi
 * @date 2025-04-11
 */
public class TbOrder extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 清算日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "清算日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date clearDate;

    /**
     * 商户日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "商户日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date merTransDate;

    /**
     * 交易状态
     */
    @Excel(name = "交易状态")
    private String transStatus;

    /**
     * 营销活动渠道
     */
    @Excel(name = "营销活动渠道")
    private String activChannel;

    /**
     * 支付平台流水
     */
    @Excel(name = "支付平台流水")
    private String transSeqNo;

    /**
     * 交易金额
     */
    @Excel(name = "交易金额")
    private BigDecimal transAmount;

    /**
     * 商户号
     */
    @Excel(name = "商户号")
    private String merchantId;

    /**
     * 订单号
     */
    @Excel(name = "订单号")
    private String orderId;

    /**
     * 交易渠道
     */
    @Excel(name = "交易渠道")
    private String channelId;

    /**
     * 优惠金额
     */
    @Excel(name = "优惠金额")
    private BigDecimal discountAmt;

    /**
     * 乘客ID
     */
    @Excel(name = "乘客ID")
    private Long passengerId;

    /**
     * 乘客手机号
     */
    @Excel(name = "乘客手机号")
    private String passengerTel;

    /**
     * 投诉记录ID
     */
    @Excel(name = "投诉记录ID")
    private Long complaintId;

    /**
     * 评价ID
     */
    @Excel(name = "评价ID")
    private Long evaluateId;

    /**
     * 评价ID
     */
    @Excel(name = "司机ID")
    private Long driverId;

    @TableField(exist = false)
    private String carNo;


    @TableField(exist = false)
    private String phone;

    @TableField(exist = false)
    private String name;

    @TableField(exist = false)
    private String company;

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @TableField(exist = false)
    private  String startDate;
    @TableField(exist = false)
    private  String endDate;

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getCarNo() {
        return carNo;
    }

    public void setCarNo(String carNo) {
        this.carNo = carNo;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setClearDate(Date clearDate) {
        this.clearDate = clearDate;
    }

    public Date getClearDate() {
        return clearDate;
    }

    public void setMerTransDate(Date merTransDate) {
        this.merTransDate = merTransDate;
    }

    public Date getMerTransDate() {
        return merTransDate;
    }

    public void setTransStatus(String transStatus) {
        this.transStatus = transStatus;
    }

    public String getTransStatus() {
        return transStatus;
    }

    public void setActivChannel(String activChannel) {
        this.activChannel = activChannel;
    }

    public String getActivChannel() {
        return activChannel;
    }

    public void setTransSeqNo(String transSeqNo) {
        this.transSeqNo = transSeqNo;
    }

    public String getTransSeqNo() {
        return transSeqNo;
    }

    public void setTransAmount(BigDecimal transAmount) {
        this.transAmount = transAmount;
    }

    public BigDecimal getTransAmount() {
        return transAmount;
    }

    public void setMerchantId(String merchantId) {
        this.merchantId = merchantId;
    }

    public String getMerchantId() {
        return merchantId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setChannelId(String channelId) {
        this.channelId = channelId;
    }

    public String getChannelId() {
        return channelId;
    }

    public void setDiscountAmt(BigDecimal discountAmt) {
        this.discountAmt = discountAmt;
    }

    public BigDecimal getDiscountAmt() {
        return discountAmt;
    }

    public void setPassengerId(Long passengerId) {
        this.passengerId = passengerId;
    }

    public Long getPassengerId() {
        return passengerId;
    }

    public void setPassengerTel(String passengerTel) {
        this.passengerTel = passengerTel;
    }

    public String getPassengerTel() {
        return passengerTel;
    }

    public void setComplaintId(Long complaintId) {
        this.complaintId = complaintId;
    }

    public Long getComplaintId() {
        return complaintId;
    }

    public void setEvaluateId(Long evaluateId) {
        this.evaluateId = evaluateId;
    }

    public Long getEvaluateId() {
        return evaluateId;
    }

    public void setDriverId(Long evaluateId) {
        this.driverId = evaluateId;
    }

    public Long getDriverId() {
        return driverId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("clearDate", getClearDate())
                .append("merTransDate", getMerTransDate())
                .append("transStatus", getTransStatus())
                .append("activChannel", getActivChannel())
                .append("transSeqNo", getTransSeqNo())
                .append("transAmount", getTransAmount())
                .append("merchantId", getMerchantId())
                .append("orderId", getOrderId())
                .append("channelId", getChannelId())
                .append("discountAmt", getDiscountAmt())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("passengerId", getPassengerId())
                .append("passengerTel", getPassengerTel())
                .append("complaintId", getComplaintId())
                .append("evaluateId", getEvaluateId())
                .append("driverId", getDriverId())
                .toString();
    }
}
